package lanQiaoBei.基础算法.区间和并;

import java.io.*;
import java.util.*;
import java.lang.*;

/*
 * 给定n个区间 请你将这n个区间进行合并，并返回合并后区间的个数
 * 输入格式：
 * n(-1e9~+1e9)
 * 接下来n行每行包括左端点l，和右端点r n个区间
 * 输出格式：
 * 输出合并后的区间个数
5
1 4
2 3
3 4
4 5
6 7
 * */
public class P1 {
    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    static int n;
    static List<Pair> segments = null;

    static class Pair {
        int l, r;

        Pair(int l, int r) {
            this.l = l;
            this.r = r;
        }
    }

    public static void main(String[] ss) throws IOException {
        n = Integer.parseInt(br.readLine());
        segments = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            ss = br.readLine().split(" ");
            segments.add(new Pair(Integer.parseInt(ss[0]), Integer.parseInt(ss[1])));
        }

        segments.sort((o1, o2) -> o1.l - o2.l);//将所有区间以左边界进行从大到小排序
        int st=(int)-2e9,ed=st;
		List<Pair>res=new ArrayList<>();
		for(Pair seg : segments){
			if(seg.l>ed){
				if(st!=-2e9) res.add(new Pair(st,ed));
				st=seg.l;
				ed=seg.r;
			}else {
				ed=Math.max(seg.r,ed);
			}
		}
		if(ed!=-2e9) res.add(new Pair(st,ed));
		System.out.println(res.size());
    }
}
